package com.woniuxy.factoryUtils;

import com.woniuxy.entity.American;
import com.woniuxy.entity.Chinese;
import com.woniuxy.entity.Person;

/**
 * 二代工厂，对我们1代工厂进行一下升级  万一 还需要一个日本人呢？ 工厂需要修改么？
 */
public class SecondFactory {
    /**
     * 动态创建对应的类
     * @param nationality 直接传入目标类的全限定类名
     * @return
     */
    public Person doPerson(String nationality) {
        try {
           return (Person) Class.forName(nationality).newInstance();
        } catch (ClassNotFoundException classNotFoundException) {
            classNotFoundException.printStackTrace();
        } catch (InstantiationException instantiationException) {
            instantiationException.printStackTrace();
        } catch (IllegalAccessException illegalAccessException) {
            illegalAccessException.printStackTrace();
        }
        return null;
    }
}
